#!python
#
# Pyste file for osg::MFIntS and osg::MFUintS for various values of S.

Import("Field.pyste")

MField = Template('osg::MField', 'OpenSG/OSGMFSysTypes.h')

for signed in ['', 'U']:
   for size in [8, 16, 32, 64]:
      name = '%sInt%d' % (signed, size)
      c = MField('osg::' + name)
      final(c)
      rename(c, 'MF' + name)
      set_policy(c.getType, return_internal_reference(1))
      set_policy(c.getContentType, return_internal_reference(1))
      set_policy(c.getValueByStr, return_internal_reference(1))
      set_policy(c.getValue, return_value_policy(copy_non_const_reference))
      set_policy(c.getValues, return_internal_reference(1))
      set_policy(c.front, return_value_policy(copy_non_const_reference))
      set_policy(c.back, return_value_policy(copy_non_const_reference))
      exclude(c.syncWith)
      exclude(c.copyToBin)
      exclude(c.copyFromBin)
      exclude(c.front)
      exclude(c.back)
      exclude(c.getValue)
